purge(nil) → nil
purge(.(x, y)) → .(x, purge(remove(x, y)))
remove(x, nil) → nil
remove(x, .(y, z)) → if(=(x, y), remove(x, z), .(y, remove(x, z)))
↳ QTRS
↳ Overlay + Local Confluence
purge(nil) → nil
purge(.(x, y)) → .(x, purge(remove(x, y)))
remove(x, nil) → nil
remove(x, .(y, z)) → if(=(x, y), remove(x, z), .(y, remove(x, z)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
purge(nil) → nil
purge(.(x, y)) → .(x, purge(remove(x, y)))
remove(x, nil) → nil
remove(x, .(y, z)) → if(=(x, y), remove(x, z), .(y, remove(x, z)))
purge(nil)
purge(.(x0, x1))
remove(x0, nil)
remove(x0, .(x1, x2))
REMOVE(x, .(y, z)) → REMOVE(x, z)
PURGE(.(x, y)) → REMOVE(x, y)
PURGE(.(x, y)) → PURGE(remove(x, y))
purge(nil) → nil
purge(.(x, y)) → .(x, purge(remove(x, y)))
remove(x, nil) → nil
remove(x, .(y, z)) → if(=(x, y), remove(x, z), .(y, remove(x, z)))
purge(nil)
purge(.(x0, x1))
remove(x0, nil)
remove(x0, .(x1, x2))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
REMOVE(x, .(y, z)) → REMOVE(x, z)
PURGE(.(x, y)) → REMOVE(x, y)
PURGE(.(x, y)) → PURGE(remove(x, y))
purge(nil) → nil
purge(.(x, y)) → .(x, purge(remove(x, y)))
remove(x, nil) → nil
remove(x, .(y, z)) → if(=(x, y), remove(x, z), .(y, remove(x, z)))
purge(nil)
purge(.(x0, x1))
remove(x0, nil)
remove(x0, .(x1, x2))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
PURGE(.(x, y)) → REMOVE(x, y)
REMOVE(x, .(y, z)) → REMOVE(x, z)
PURGE(.(x, y)) → PURGE(remove(x, y))
purge(nil) → nil
purge(.(x, y)) → .(x, purge(remove(x, y)))
remove(x, nil) → nil
remove(x, .(y, z)) → if(=(x, y), remove(x, z), .(y, remove(x, z)))
purge(nil)
purge(.(x0, x1))
remove(x0, nil)
remove(x0, .(x1, x2))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
REMOVE(x, .(y, z)) → REMOVE(x, z)
purge(nil) → nil
purge(.(x, y)) → .(x, purge(remove(x, y)))
remove(x, nil) → nil
remove(x, .(y, z)) → if(=(x, y), remove(x, z), .(y, remove(x, z)))
purge(nil)
purge(.(x0, x1))
remove(x0, nil)
remove(x0, .(x1, x2))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REMOVE(x, .(y, z)) → REMOVE(x, z)
[REMOVE2, .1]
.1: multiset
REMOVE2: [1,2]
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
purge(nil) → nil
purge(.(x, y)) → .(x, purge(remove(x, y)))
remove(x, nil) → nil
remove(x, .(y, z)) → if(=(x, y), remove(x, z), .(y, remove(x, z)))
purge(nil)
purge(.(x0, x1))
remove(x0, nil)
remove(x0, .(x1, x2))